package com.mdp.workflow.comm.dict;

import cn.hutool.core.util.ArrayUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 流程任务的加签类型枚举
 *
 * @author kehaiyou
 */
@Getter
@AllArgsConstructor
public enum TaskSignType {

    /**
     * 向前加签，需要前置任务审批完成，才回到原审批人
     */
    before( "向前加签"),
    /**
     * 向后加签，需要后置任务全部审批完，才会通过原审批人节点
     */
    after( "向后加签");

    /**
     * 名字
     */
    private final String title;

    public static String titleOfType(String name) {
        for (TaskSignType value : values()) {
            if (value.name().equals(name)) {
                return value.title;
            }
        }
        return null;
    }

    public static TaskSignType of(String name) {
        return ArrayUtil.firstMatch(value -> value.name().equals(name), values());
    }

}
